package com.gamota.mobi.model;

import java.io.Serializable;
import java.util.List;

import com.google.gson.annotations.SerializedName;

public class ContentItemInfo implements Serializable {
	
	public int getInstallAttachApplication() {
		return installAttachApplication;
	}

	public void setInstallAttachApplication(int installAttachApplication) {
		this.installAttachApplication = installAttachApplication;
	}

	public String getAttachApplicationSlug() {
		return attachApplicationSlug;
	}

	public void setAttachApplicationSlug(String attachApplicationSlug) {
		this.attachApplicationSlug = attachApplicationSlug;
	}

	public String getAttachApplicationTitle() {
		return attachApplicationTitle;
	}

	public void setAttachApplicationTitle(String attachApplicationTitle) {
		this.attachApplicationTitle = attachApplicationTitle;
	}

	public String getAttachApplicationAvatar() {
		return attachApplicationAvatar;
	}

	public void setAttachApplicationAvatar(String attachApplicationAvatar) {
		this.attachApplicationAvatar = attachApplicationAvatar;
	}

	public int getHasPromotion() {
		return hasPromotion;
	}

	public void setHasPromotion(int hasPromotion) {
		this.hasPromotion = hasPromotion;
	}

	public int getGiftbox() {
		return giftbox;
	}

	public void setGiftbox(int giftbox) {
		this.giftbox = giftbox;
	}

	public int getGiftboxDaysToGet() {
		return giftboxDaysToGet;
	}

	public void setGiftboxDaysToGet(int giftboxDaysToGet) {
		this.giftboxDaysToGet = giftboxDaysToGet;
	}

	public boolean isChecked() {
		return isChecked;
	}

	public void setChecked(boolean isChecked) {
		this.isChecked = isChecked;
	}

	public boolean isInstalled() {
		return isInstalled;
	}

	public void setInstalled(boolean isInstalled) {
		this.isInstalled = isInstalled;
	}

	public String getPackageName() {
		return identifierBundle;
	}

	public void setPackageName(String packageName) {
		this.identifierBundle = packageName;
	}

	public String getTags() {
		return tags;
	}

	public void setTags(String tags) {
		this.tags = tags;
	}

	public int getTotalComment() {
		return totalComment;
	}

	public void setTotalComment(int totalComment) {
		this.totalComment = totalComment;
	}

	public int getTotalView() {
		return totalView;
	}

	public void setTotalView(int totalView) {
		this.totalView = totalView;
	}

	public String getApplicationType() {
		return applicationType;
	}

	public void setApplicationType(String applicationType) {
		this.applicationType = applicationType;
	}

	public List<String> getImages() {
		return images;
	}

	public void setImages(List<String> images) {
		this.images = images;
	}

	public List<RelatedItem> getRelatedApplications() {
		return relatedApplications;
	}

	public void setRelatedApplications(List<RelatedItem> relatedApplications) {
		this.relatedApplications = relatedApplications;
	}

	public List<Version> getVersions() {
		return versions;
	}

	public void setVersions(List<Version> versions) {
		this.versions = versions;
	}

	public String getPermission() {
		return permission;
	}

	public void setPermission(String permission) {
		this.permission = permission;
	}

	public String getRootLink() {
		return rootLink;
	}

	public void setRootLink(String rootLink) {
		this.rootLink = rootLink;
	}

	public ContentItemInfo(){}

	public String getApplicationId() {
		return applicationId;
	}

	public void setApplicationId(String applicationId) {
		this.applicationId = applicationId;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public int getTotalRate() {
		return totalRate;
	}

	public void setTotalRate(int totalRate) {
		this.totalRate = totalRate;
	}

	public int getSumRate() {
		return sumRate;
	}

	public void setSumRate(int sumRate) {
		this.sumRate = sumRate;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public int getBought() {
		return bought;
	}

	public void setBought(int bought) {
		this.bought = bought;
	}

	public int getIsNew() {
		return isNew;
	}

	public void setIsNew(int isNew) {
		this.isNew = isNew;
	}

	public int getIsHot() {
		return isHot;
	}

	public void setIsHot(int isHot) {
		this.isHot = isHot;
	}

	public int getIsUpdate() {
		return isUpdate;
	}

	public void setIsUpdate(int isUpdate) {
		this.isUpdate = isUpdate;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getTag() {
		return tags;
	}

	public void setTag(String tag) {
		this.tags = tag;
	}

	public int getTotalComments() {
		return totalComment;
	}

	public void setTotalComments(int totalComments) {
		this.totalComment = totalComments;
	}

	public float getRating() {
		return rating;
	}

	public void setRating(float rating) {
		this.rating = rating;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public int getPrice2() {
		return price2;
	}

	public void setPrice2(int price2) {
		this.price2 = price2;
	}

	public int getTotalViews() {
		return totalView;
	}

	public void setTotalViews(int totalViews) {
		this.totalView = totalViews;
	}

	public String getTime() {
		return time;
	}

	public void setTime(String time) {
		this.time = time;
	}

	public String getType() {
		return applicationType;
	}

	public void setType(String type) {
		this.applicationType = type;
	}

	public List<String> getDevices() {
		return devices;
	}

	public void setDevices(List<String> devices) {
		this.devices = devices;
	}

	public List<String> getScreenShots() {
		return images;
	}

	public void setScreenShots(List<String> screenShots) {
		this.images = screenShots;
	}

	public String getVideoLink() {
		return videoLink;
	}

	public void setVideoLink(String videoLink) {
		this.videoLink = videoLink;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public String getChangeLog() {
		return changeLog;
	}

	public void setChangeLog(String changeLog) {
		this.changeLog = changeLog;
	}

	public int getVersionId() {
		return versionId;
	}

	public void setVersionId(int versionId) {
		this.versionId = versionId;
	}

	public String getPublished() {
		return published;
	}

	public void setPublished(String published) {
		this.published = published;
	}

	public int getUpdateFree() {
		return updateFree;
	}

	public void setUpdateFree(int updateFree) {
		this.updateFree = updateFree;
	}

	public String getSize() {
		return size;
	}

	public void setSize(String size) {
		this.size = size;
	}

	public List<RelatedItem> getRelatedItems() {
		return relatedApplications;
	}

	public void setRelatedItems(List<RelatedItem> relatedItems) {
		this.relatedApplications = relatedItems;
	}

	public List<Version> getVersionList() {
		return versions;
	}

	public void setVersionList(List<Version> versionList) {
		this.versions = versionList;
	}

	public long getAppstorevnId() {
		return appstorevnId;
	}

	public void setAppstorevnId(long appstorevnId) {
		this.appstorevnId = appstorevnId;
	}

	public String getPermissions() {
		return permission;
	}

	public void setPermissions(String permissions) {
		this.permission = permissions;
	}

	public String getGpLink() {
		return rootLink;
	}

	public void setGpLink(String gpLink) {
		this.rootLink = gpLink;
	}

	private static final long serialVersionUID = 1L;
	private String applicationId;
	private String identifierBundle;
	private String title;
	private int totalRate;
	private int sumRate;
	private String description;
	private String avatar;
	private int bought;
	private int isNew;
	private int isHot;
	private int isUpdate;
	private String author;
	private String tags;
	private int totalComment;
	private float rating;
	private int price;
	private int price2;
	private int totalView;
	private String time;
	private String applicationType;
	private List<String> devices;
	private List<String> images;
	private String videoLink;
	private String version;
	private String changeLog;
	private int versionId;
	private String published;
	private int updateFree;
	private String size;
	private List<RelatedItem> relatedApplications;
	private List<Version> versions;
	private long appstorevnId;
	private String permission;
	private String rootLink;
	private boolean isInstalled;
	private boolean isChecked;
	@SerializedName("giftbox") private int giftbox;
	private int giftboxDaysToGet;
	private int hasPromotion;
	private int installAttachApplication;
	private String attachApplicationSlug;
	private String attachApplicationTitle;
	private String attachApplicationAvatar;

	public ContentItemInfo(String applicationId, String title, int totalRate,
			int sumRate, String description, String avatar, int bought,
			int isNew, int isHot, int isUpdate, String author, String tag,
			int totalComments, float rating, int price, int price2,
			int totalViews, String time, String type, List<String> devices,
			List<String> screenShots, String videoLink, String version,
			String changeLog, int versionId, String published, int updateFree,
			String size, List<RelatedItem> relatedItems,
			List<Version> versionList, long appstorevnId, String permissions,
			String gpLink) {
		this.applicationId = applicationId;
		this.title = title;
		this.totalRate = totalRate;
		this.sumRate = sumRate;
		this.description = description;
		this.avatar = avatar;
		this.bought = bought;
		this.isNew = isNew;
		this.isHot = isHot;
		this.isUpdate = isUpdate;
		this.author = author;
		this.tags = tag;
		this.totalComment = totalComments;
		this.rating = rating;
		this.price = price;
		this.price2 = price2;
		this.totalView = totalViews;
		this.time = time;
		this.applicationType = type;
		this.devices = devices;
		this.images = screenShots;
		this.videoLink = videoLink;
		this.version = version;
		this.changeLog = changeLog;
		this.versionId = versionId;
		this.published = published;
		this.updateFree = updateFree;
		this.size = size;
		this.relatedApplications = relatedItems;
		this.versions = versionList;
		this.appstorevnId = appstorevnId;
		this.permission = permissions;
		this.rootLink = gpLink;
	}
	
	public static class RelatedItem implements Serializable{

		/**
		 * 
		 */
		private static final long serialVersionUID = 5972730781972596232L;

		/**
		 * 
		 */
		public RelatedItem(){}
		
		
		private String iconUrl;
		private String name;
		private String author;
		private String slug;

		public String getIconUrl() {
			return iconUrl;
		}

		public void setIconUrl(String iconUrl) {
			this.iconUrl = iconUrl;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getAuthor() {
			return author;
		}

		public void setAuthor(String author) {
			this.author = author;
		}

		public String getSlug() {
			return slug;
		}

		public void setSlug(String slug) {
			this.slug = slug;
		}

	}


	public static class Version implements Serializable{
		
		/**
		 * 
		 */
		private static final long serialVersionUID = 724209130353256090L;

		public Version(){}
		public int getPrice1() {
			return price1;
		}

		public void setPrice1(int price1) {
			this.price1 = price1;
		}

		public int getPrice2() {
			return price2;
		}

		public void setPrice2(int price2) {
			this.price2 = price2;
		}

		/**
		 * 
		 */
		private String name;
		private String changeLog;
		private int id;
		private String size;
		private int price1;
		private int price2;

		public Version(String name, String changeLog, int id, String size) {
			super();
			this.name = name;
			this.changeLog = changeLog;
			this.id = id;
			this.size = size;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getChangeLog() {
			return changeLog;
		}

		public void setChangeLog(String changeLog) {
			this.changeLog = changeLog;
		}

		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}

		public String getSize() {
			return size;
		}

		public void setSize(String size) {
			this.size = size;
		}
	}
}
